package com.shj.em.biz.prod.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.shj.em.biz.prod.entity.MachineEffort;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 订单工时表 服务类
 *
 * @author Shen Huang Jian
 * @since 2018-11-27
 */
public interface MachineEffortService extends IService<MachineEffort> {

    List<MachineEffort> findMachineEffortByProgramId(Long programId);

    /**
     * 根据日期获取当天员工的工作时间和机器预估的时间。
     * @param date
     * @return
     */
    List<MachineEffort> findByDate(Date date);

    /**
     * 获以一部员工一周的工时和机器预估的时间
     * @param weekFrom
     * @param weekTo
     * @return
     */
    List<MachineEffort> findWeekEffort(Date weekFrom, Date weekTo);

    /**
     * 获取一部员工一周的工作天数
     * @param weekFrom
     * @param weekTo
     * @return
     */
    List<MachineEffort> findWorkDaysInWeek(Date weekFrom, Date weekTo);

    /**
     * 得到某天的机器的利用时间
     * @param today
     * @return
     */
    List<MachineEffort> findOneDayMachineEffort(Date today);

    /**
     * 得到某个时间范围内的机器的利用时间
     * @param from
     * @param to
     * @return
     */
    List<MachineEffort> findRangeMachineEffort(Date from, Date to);

    /**
     * 获取机器使用的天数
     * @param from
     * @param to
     * @return
     */
    List<MachineEffort> findMachineUsageDays(Date from, Date to);

}
